草庐IT

javascript - 访问http状态码常量

全部标签

ruby-on-rails - 检测应用程序是否作为 HTTP 服务器启动(rake 任务、rconsole 等)

我正在使用EventMachine和Monetarily与我的Rails应用程序一起启动eTCP服务器。这是从config/initializers/momentarily.rb开始的。我的问题是当我运行rake任务时它也会启动,比如db:migrate。我只希望它在我启动HTTP服务器时启动。环境无济于事,因为服务器启动和rake任务都在开发环境下。有没有办法知道应用程序正在运行HTTP服务器而不是其他任何东西?请注意,这不仅是rake任务,如果我运行rails控制台,EM也会启动,这对我的情况来说也是不可取的。 最佳答案 unl

ruby - 从 Cucumber/Capybara 测试中执行 JavaScript

似乎Selenium有一个名为JavascriptExecutor的功能,它可以直接在页面上执行JavaScript。然而,我的Cucumber/Capybara测试似乎没有这样的东西。如何从我的Cucumber测试中执行任意JavaScript? 最佳答案 Capybara有两种执行javascript的方法#execute_script和#evaluate_script。两者都可以在以下位置找到:http://rubydoc.info/github/jnicklas/capybara/master/Capybara/Seleni

ruby 1.9.3 不能使用 open3(未初始化的常量 ConfigureController::Open3)

该项目在Ruby1.9.2中运行良好,但我想使用1.9.3。此行在1.9.2中运行良好:o,e,s=Open3.capture3("echoa;sort>&2",:stdin_data=>"foo\nbar\nbaz\n")但是在1.9.3中,我得到了未初始化常量ConfigureController::Open3我必须安装模块还是什么?谢谢! 最佳答案 您是否在源文件的顶部require'open3'?有可能之前,它是您需要的其他东西所必需的,但现在在1.9.3中则不是。您可能需要明确要求它。

ruby - 访问 OpenStruct 中不存在的属性时引发异常

我正在尝试弄清楚如何使OpenStruct的子类(或与此相关的任何类)或散列在我尝试访问尚未设置的属性时引发自定义异常.我无法让define_method和method_missing执行此操作,所以我不知道应该如何在Ruby中完成。这是一个例子:classRequest我可以想象它必须是这样的:classHash#iftryingtoaccesskey:#1)keyexists,returnkey#2)keydoesn'texist,raiseexceptionend编辑:存在的属性不应引发异常。我正在寻找的功能是让我可以自由访问属性,如果它不存在,我的自定义异常将被引发。

ruby - 从任务中访问 Rake 任务描述

在rake任务中,如何查询描述?会给出的东西:desc"PopulateDB"taskpopulate::environmentdoputstask.desc#"PopulateDB"end 最佳答案 task必须定义为任务block的参数。desc"PopulateDB"task:populatedo|task|putstask.comment#"PopulateDB"putstask.full_comment#"PopulateDB"putstask.name#"populate"end编辑:此解决方案适用于rake0.8.7。

ruby - 如何像在 Javascript 中一样在 Ruby 中动态创建对象及其方法?

我最近发现在Ruby中动态创建对象和方法是一件很费力的事情,这可能是因为我有Javascript背景经验。在Javascript中,您可以动态创建对象及其方法,如下所示:functionsomewhere_inside_my_code(){foo={};foo.bar=function(){/**dosomething**/};};如何在Ruby中完成上述语句(与在Javascript中一样简单)? 最佳答案 您可以使用单例方法实现此目的。请注意,您可以对所有对象执行此操作,例如:str="Ilikecookies!"defstr.

ruby-on-rails - 使用 Rails Assets 管道在 JavaScript 文件中编码问题

我正在使用Rails3.1和Assets管道(ruby1.9.2)。在尝试提供具有utf-8编码字符串的javascriptjs.erb文件时出现以下错误invalidbytesequenceinUS-ASCII我在我的environment.rb文件中设置了Encoding.default_external="UTF-8"。我如何让Assets管道以不同的编码提供服务?编辑仅当我在文件外部生成utf-8字符时才会出现该错误(在本例中是通过从数据库查询)。如果我添加,错误就会消失到文件的顶部。我猜这里会进行某种编码猜测,但如果没有那种骇人听闻的解决方案,我该如何避免呢?

ruby-on-rails - 使用 Rails 4 响应未授权 (401) 状态

给定以下Rails4.2Controller:classApi::UsersController当使用RSpec3时,我尝试调用此index操作并期望状态为401,而我的状态始终为200。我得到401的唯一时刻是用head401替换index操作内容,但我想用错误401进行响应并构建一个“不错”的正文,如{error:401,message:'Unauthorised'}。为什么status::unauthorised被忽略了? 最佳答案 使用错误代码而不是它的名称:渲染json:{},状态:401

ruby-on-rails - 为什么使用 "self"访问 ActiveRecord/Rails 模型属性?

在我的整个应用程序中,self.没有必要引用用户名。name工作正常。为什么以下代码需要self才能按预期工作?classUser顺便说一句,我知道validates_presence_of可以用来防止保存,但如果没有给出名称,我想使用默认值保存。rails3.0.7。 最佳答案 通常使用self是为了强制Ruby将其识别为方法调用,而不是将其错误解释为变量。如果事先不知道名为day=的方法,那么day="x"在Ruby中看起来就像一个变量赋值。self.day="x"始终是方法调用。之所以麻烦是因为name和name=方法是在解析

ruby-on-rails - 从 HTML 页面中删除所有 JavaScript

我试过使用Sanitizegem清理包含网站HTML的字符串。它只删除了标记,而不是脚本标记内的JavaScript。我可以使用什么从页面中删除JavaScript? 最佳答案 require'open-uri'#includedwithRuby;onlyneededtoloadHTMLfromaURLrequire'nokogiri'#geminstallnokogirireadmoreathttp://nokogiri.orghtml=open('http://stackoverflow.com')#GettheHTMLsour